package cn.juque.systemservice.service;

import cn.juque.common.base.PageInfo;
import cn.juque.systemservice.entity.GenInfo;

import java.util.Date;
import java.util.List;

/**
 * @author JUQUE
 * @version 1.0.0
 * <li>simple-generator</li>
 * <li></li>
 * @date 2020-04-01 20:32:42
 **/
public interface IGenInfoService {

    /**
     * 查询
     *
     * @param sysGen sysGen
     * @return List<SysGen>
     */
    List<GenInfo> listGenWithoutPage(GenInfo sysGen);

    /**
     * 分页查询
     *
     * @param pageInfo pageInfo
     * @param sysGen   sysGen
     * @return DataGrid<SysGen>
     */
    List<GenInfo> listGenWithPage(PageInfo pageInfo, GenInfo sysGen);

    /**
     * 获取自定义主键序列号
     *
     * @param prefix 前缀
     * @param date   时间
     * @return Integer
     */
    Long getGen(String prefix, Date date);

    /**
     * 获取自定义主键序列号
     *
     * @param prefix 前缀
     * @return Integer
     */
    Long getGen(String prefix);

    /**
     * 保存
     *
     * @param sysGen sysGen
     */
    void saveGen(GenInfo sysGen);

    /**
     * 更新
     *
     * @param sysGen sysGen
     */
    void updateGen(GenInfo sysGen);

    /**
     * 删除
     *
     * @param genIds genIds
     */
    void deleteGen(List<String> genIds);
}
